;; Copyright (c) Rich Hickey. All rights reserved.
;; The use and distribution terms for this software are covered by the
;; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
;; which can be found in the file epl-v10.html at the root of this distribution.
;; By using this software in any fashion, you are agreeing to be bound by
;; the terms of this license.
;; You must not remove this notice, or any other, from this software.

(ns cljs.reader
  (:require [cljs.env :as env]))

(defmacro add-data-readers [default-readers]
  (let [data-readers
        (->> (get @env/*compiler* :cljs.analyzer/data-readers)
          (map (fn [[k v]]
                 `['~k (fn [x#] (~(vary-meta v assoc :cljs.analyzer/no-resolve true) x#))]))
          (into {}))]
    `(do (merge ~default-readers ~data-readers))))
